In recent years, picture quality of CCD (Charge Coupled Device), which is used in various mobile devices including a mobile phone, a digital camera, a digital video camera, and a PDA (Personal Digital Assistant), has increased, allowing easy image pick-up of digital image with high quality.
The image taken by a CCD is often stored in a storage medium, so as to be sent as an attachment file of an e-mail, transmitted as an image file via wired/wireless communication to be displayed in a different device, or printed on a paper to be handed from one to another. In this way, the image is used as shared data.
Wireless communication, particularly one using infrared light, is often used for data transfer in such various ways for sharing digital images. This communication method enables easy transfer of image files without physical connection or medium exchange from the mobile device to other display devices, a printing device, a recording device, other mobile devices, or to a personal computer.
Examples of the typical infrared communications using IrDA (Infrared Data Association) are described in the following Documents 1 through 5.    Document 1: Infrared Data Association Serial Infrared Link Access Protocol (IrLAP) Version 1.1 (Jun. 16, 1996)    Document 2: Infrared Data Association Serial Infrared Physical Layer Specification Version 1.4 (May 30, 2003)    Document 3: Infrared Data Association Link Management Protocol (IrLMP) Version 1.1 (Jun. 23, 1996)    Document 4: Infrared Data Association ‘Tiny TP’: A Flow-Control Mechanism for use with IrLMP Version 1.1 (Oct. 20, 1996)    Document 5: Infrared Data Association Object Exchange Protocol (OBEX) Version 1.3 (Jan. 3, 2003)
To make the communication more flexible, a conventional communication method using IrDA or wireless LAN strictly defines a data link layer (or link layer), a transport layer, an application layer etc., and carries out negotiations, retransmission etc. in each layer. Further, in the negotiation for establishing connection, the IrDA-D1.1, which generally performs communication with a large number of terminals, focuses on secure connection for all terminals, thereby requiring many sequences. In addition to this, confirmation of transmission in the link layer or in the MAC layer, which is a part of the link layer, is carried out on the packet basis in the IrDA-D1.1. Note that, a personal computer (PC) carries out plural-transmission, while the all other devices mostly carry out single-transmission.
In spite of the flexibility for realizing various applications, those rigorous communication layers are defined through a complicated procedure, thereby increasing the overhead required for communication. The complicated procedure, which results from rigorous separation of layers, particularly causes an increase of communication overhead. Moreover, though the confirmation of retransmission for each packet helps to increase communication reliability, it also decreases communication speed.
The connection overhead can be ignored in a long time communication, but it becomes a serious problem if the data is transferred in a short time. The rigorous retransmission also decreases communication efficiency. Particularly, when a person carries out operation for instantly transmitting data, it is sometimes preferable that the operation (communication) is completed in a short time, and the person can carry out retransmission if the transmission fails. For example, when an infrared remote controller of TV or the like failed to receive a command for changing the channel, and therefore the TV did not carry out the command, the user may operate to reissue the command for channel change.
There are many advantages in the conventional method of using strictly-separated layers, establishing connection for each layer, and carrying out retransmission on the packet basis. Therefore, by adding a function of changing communication procedure according to communication condition, application, and/or user's instruction, more flexible communication is realized.
The following will explain an existing IrDA protocol as a prior art of the present invention.
Since the infrared light used for infrared communication such as IrDA has directivity, a shield between the devices will completely disable data transfer. However, if there is no shield between the devices, high-speed data transfer is possible.
IrDA is broken into Very Fast IR (VFIR) with a maximum speed of 16 Mbps, Fast IR (FIR) with a maximum speed of 4 Mbps, and SIR (Serial Infra Red) with a maximum speed of 115.2 kbps. However, in commercially available products, the maximum speed is up to 4 Mbps.
FIG. 27 shows a schematic procedure of establishment of data transfer state through the IrDA standard, which is one of standards of infrared communication. In this example, “establishment of data transfer” means establishment of a state in which the system becomes capable of data transfer of target images, documents etc.
A first station serves to look for the other party at the beginning of transmission. That is, the first station requires establishment of data transfer state and outputs a “station search command (XID command)”. On the other hand, a second station serves to accept the request and outputs a “station search response (XID response). A request (order) from the first station to the second station is called a command, and a reply from the second station to the first station is called a response.
The XID command serves to look for a potential second station within a certain distance in which the first station is capable of transmission. The slot numbers denote ascending numbers sequentially put on the commands.
After receiving the XID command, the second station outputs the XID response, that is a “station search response, so as to notify the first station of its existence. The first station outputs a predetermined number of XID commands, and then outputs the final XID command labeled with the slot number 255. That is, the command with the slot number 255 is the final command.
Next, the first station notifies the second station of the setting values required for communication, such as data size, using a SNRM command. The second station receives the command and carries out comparison between the received setting value and its own setting value, and then transmits a UA response to the second station so as to notify an allowable value.
The following more specifically describes establishment of data transmission state.
In IrDA standard, the number of packets of XID command transmitted from the first station is often selected from 1, 6, 8, or 15. As shown in FIG. 27, when 8 packets of XID command is transmitted each time, the 1st to 8th packets are given slot numbers from 0 to 7. Then after outputting the 8 commands, the final XID command with the slot number of 255 so that the receiving end will notify that it is the final packet. That is, if the predetermined number is 8, 9 XID commands are required. Then, after 500 m seconds since the final packet is sent, the 1st through 8th packets are transmitted again. These packets are transmitted with a time interval of 25-85 m seconds.
The second station does not always output the XID response immediately after receiving the XID command, but outputs the response after receiving a packet with an arbitrary (a random value) slot number. For example, when 8 packets of XID command is transmitted each time, the second station arbitrarily determines whether it outputs the XID response after receiving the 1st packet or after receiving the 8th packet. For example, in FIG. 27, the second station outputs the XID response after receiving the fourth packet (slot number=3).
According to SIR, IrDA standard specifies that the XID command and the XID response are transferred at 9600 bps. This is much slower than the transfer speed of data frame (described later), which is sent at 4 Mbps. Also, because of the transmission of plural XID commands, unreliability for immediate response, and the 500 ms blank period after 2 to 16 XID commands are sent, transmission/reception of the XID command and the XID response takes a longer time.
Through these processes, the search for the receiving end is completed, and the first and the second stations become ready to establish connection in data link layer.
After the search, the first and second stations exchange a SNRM command and an UA response in the data link layer. The SNRM command contains data required to set parameters for data communication, such as communication speed, upper limit of packet size, maximum time to hold the transmission right, allowable number of packets for continuous transmission, number of dummy pulse given to stabilize optical characteristic in 115 kbps or 9600 bps communication, minimum waiting time for transmission after the packets arrive from the other end, duration of disconnection state which occurs when the volume of the received packets is less than the default value, and plural different connection addresses given to the respective devices etc. With this process, the connection in the link layer is completed, and data transfer condition is satisfied.
After the data transfer condition is thus satisfied, the connection is also established in the upper layers. FIG. 27 shows a sequence of connection establishment in the network layer, transport layer, and session layer. This figure shows a state after the establishment is completed, and all processes are performed in the way of data exchange (by exchanging I flames (described later)).
Conventionally, the transmission through IrDA standard can be performed at 4 Mbps when a high-speed communication mode is applied, however, the waveform in transmission/reception is specified as 4 PPM mode. FIG. 29 shows a relation between data and data pulse in the 4 PPM mode. As shown in the figure, (1), (2), (3) and (4) express 00, 01, 10 and 11, respectively, that is, a data pulse of each of four 125 ns periods making up a 500 ns period expresses different 2-bit information depending on where in the time period it is placed.
Further, in IrDA standard, transmission is performed on a frame basis. FIG. 30 shows a frame of IrDA standard, which is constituted of a preamble field, a start flag, an address field, a control field, a data field, a FCS, and a stop flag. Among these, the preamble field is used for generation of reception clock which is used in a reception circuit of the device in the receiving end. Further, the FCS includes a code for error detection, for example, an error detection code or an error correction code.
Further, there are various kinds of frames, such as an I (Information) frame for information transfer, an S (Supervisory) frame for supervision/control of communication, or a U (Unnumbered) frame for connection or shutdown of communication. The information for identifying those I, S U frames is contained in the control field.
Since data transmission cannot be completed within 1 frame in most cases, the data is divided into plural I frames. Each of I frames contains the main data (data to be transmitted) in the data field, and is given a sequence number by which any omission of data can be found. With this arrangement, highly-reliable communication is realized. The S frame has no data field for containing data, and is used for transmission of notification of condition, such as establishment of communication, or a busy state, or used for a request for retransmission or the like. The U flame is called a non-numerical frame as it has no sequence number like those of the I frames. The U frame is used for setting of communication mode, report of response and irregular condition, or establishment of data link.
FIG. 31 is a sequence diagram showing general procedure of the foregoing communication mode. The A station transmits SNRM frame to the B station so as to request establishment of data transfer state. After receiving the SNRM frame, the B station outputs the DM frame when communication is not possible, and outputs a UA flame indicating acceptance of the request when communication is possible. The SNRM frame, DM frame, UA frame are all U frames. When the station B transmits the UA frame, data transmission state is established in both A and B stations, and data transfer becomes ready to be performed.
In this example, the A station transmits data having been divided into I frames to the B station. First, the A station transmits the first data frame, a 0th I frame to the B station. The B station transmits a response frame (data transfer request frame) given a number “1” (next to “0”) as a command indicating “transmit the first data”. This response frame is a RR frame, one of the S frames. After confirming the response frame from the B station, the A station transmits the first I frame containing divided frames. This procedure is repeated for a required times, thereby improving communication accuracy in communication of a plurality of I frames.
Alternatively, it is also possible to use a data transfer method in which a plurality of 1 frames are serially transmitted from the A station. In this case, when all I frames are transmitted, the station A transmits a DISC frame (U frame), indicating a command of shutdown, to the B station, so as to terminate the connection. Then, when the B station transmits a UA frame (U frame) indicating acceptance for shutdown, the communication is shut off. Further, in the case of communication error or the like in either of the A or B station, the station transmits a request for shutdown, thus the communication is shut off.
In IrDA, wireless communication is performed in the manner above. However, due to the characteristics of light, when the infrared interface between the communication devices exceeds a certain angle (±15 in IrDA standard) or exceeds a certain distance (20 cm or 1 m in IrDA), the communication fails in process of transmission even when a highly reliable communication method is employed.
This is because search for station and information exchange takes some time in the IrDA transmission, requiring frequent confirmation of data transmission/reception between the transmitter and the reception device, thereby decreasing transfer efficiency. As a result, the communication is more likely to fail in process of transmission.
For example, Japanese Laid-Open Patent Application Tokukai 2004-509527 (published on Mar. 25, 2004) discloses a method of transferring a file from one device to another via wireless communication so as to displaying the file in a device in the receiving end, but the same problem occurs when infrared light is used.